﻿<Window x:Class="GSF.Windows.SecurityPortal"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sys="clr-namespace:System;assembly=mscorlib"
        Title="" ShowInTaskbar="False" Background="Transparent"
        ResizeMode="NoResize" SizeToContent="WidthAndHeight" WindowStartupLocation="CenterScreen"
        WindowStyle="ToolWindow">

    <Window.Resources>

        <sys:Double x:Key="RegularTextSize">14</sys:Double>
        <sys:Double x:Key="LargeTextSize">18</sys:Double>
        <sys:Double x:Key="RegularItemSize">150</sys:Double>
        <sys:Double x:Key="SmallItemSize">100</sys:Double>
        <sys:Double x:Key="XXSmallItemSize">30</sys:Double>
        <sys:Double x:Key="RegularItemHeight">25</sys:Double>

        <RadialGradientBrush x:Key="ContentBackgroundBrush">
            <GradientStop Color="#FFFFFFFF"/>
            <GradientStop Color="#FF07426F" Offset="5"/>
        </RadialGradientBrush>

        <DropShadowEffect x:Key="TextBlockDarkShadowEffect" BlurRadius="20" Color="#FF666666" Direction="1" ShadowDepth="2"/>

        <ControlTemplate x:Key="HyperlinkStyleButtonTemplate" TargetType="Button">
            <TextBlock Text="{TemplateBinding Content}" FontSize="{StaticResource RegularTextSize}" TextDecorations="Underline"  Cursor="Hand"/>
        </ControlTemplate>

    </Window.Resources>

    <Border CornerRadius="5" BorderThickness="1" BorderBrush="#FF073E69">

        <Grid Background="{StaticResource ContentBackgroundBrush}">

            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" x:Name="GridRowExit"/>
                <RowDefinition Height="Auto" x:Name="GridRowTitleBlock"/>
                <RowDefinition Height="Auto" x:Name="GridRowLogin"/>
                <RowDefinition Height="Auto" x:Name="GridRowAccessDenied"/>
                <RowDefinition Height="Auto" x:Name="GridRowChangePassword"/>
            </Grid.RowDefinitions>
                
            <Button x:Name="ButtonExit" Content="" Width="1" Height="1" HorizontalAlignment="Right" FontWeight="Bold" Margin="0" ToolTip="Exit Application" IsCancel="True" />

            <StackPanel x:Name="TitleBlock" Grid.Row="1">
                <TextBlock x:Name="TextBlockApplicationLogin" Text="Login" FontSize="{StaticResource LargeTextSize}" Effect="{StaticResource TextBlockDarkShadowEffect}" Foreground="Black" Margin="5,10,5,5" HorizontalAlignment="Center"></TextBlock>
                <TextBlock x:Name="TextBlockAccessDenied" Text="Access Denied" FontSize="{StaticResource LargeTextSize}" Effect="{StaticResource TextBlockDarkShadowEffect}" Foreground="Red" Margin="5,10,5,5" HorizontalAlignment="Center" FontWeight="Normal"></TextBlock>
                <TextBlock x:Name="TextBlockChangePassword" Grid.ColumnSpan="2" Text="Change Password" FontSize="{StaticResource LargeTextSize}" Effect="{StaticResource TextBlockDarkShadowEffect}" Foreground="Black" Margin="5,10,5,5" HorizontalAlignment="Center"></TextBlock>
                <TextBlock x:Name="TextBlockGlobalMessage" HorizontalAlignment="Center" TextAlignment="Center" TextWrapping="Wrap" Margin="10" Width="400" Foreground="Red" FontSize="12" FontWeight="Bold" Text="&lt; error message block &gt;" />
            </StackPanel>
            
            <Grid x:Name="LoginSection" Grid.Row="2" Visibility="Visible">

                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                
                <TextBlock Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" TextWrapping="Wrap" TextAlignment="Center" Margin="5" FontSize="{StaticResource RegularTextSize}">
                    Please login using your account username and password. <LineBreak />
                    If you do not have an account, please request one by contacting<LineBreak />application administrator.
                </TextBlock>

                <StackPanel Orientation="Horizontal" Grid.Row="3" Grid.Column="0" HorizontalAlignment="Right">
                    <TextBlock Text="Username" FontSize="{StaticResource RegularTextSize}" Margin="5"/>
                    <TextBlock Text="*" Foreground="Red"/>
                </StackPanel>

                <TextBox x:Name="TextBoxUserName" Grid.Row="3" Grid.Column="1" Width="{StaticResource RegularItemSize}" Height="{StaticResource RegularItemHeight}" HorizontalAlignment="Left" Margin="5" />

                <StackPanel Orientation="Horizontal" Grid.Row="4" Grid.Column="0" HorizontalAlignment="Right">
                    <TextBlock Text="Password" FontSize="{StaticResource RegularTextSize}" Margin="5" />
                    <TextBlock Text="*" Foreground="Red"/>
                </StackPanel>

                <PasswordBox x:Name="TextBoxPassword" Grid.Row="4" Grid.Column="1" Width="{StaticResource RegularItemSize}" Height="{StaticResource RegularItemHeight}" HorizontalAlignment="Left" Margin="5" />

                <StackPanel Orientation="Horizontal" Grid.Row="5" Grid.Column="1" Height="52" VerticalAlignment="Top">
                    <Button x:Name="ButtonLogin" Content="Login" Width="{StaticResource SmallItemSize}" HorizontalAlignment="Left" FontWeight="Bold" Height="25" Margin="5"/>                    
                </StackPanel>
                
                <StackPanel Orientation="Horizontal" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Right" VerticalAlignment="Center">
                    <Button x:Name="ButtonForgotPasswordLink" Content="Forgot Password" Template="{StaticResource HyperlinkStyleButtonTemplate}" Margin="5" Height="25" Width="Auto" />
                    <Button x:Name="ButtonChangePasswordLink" Content="Change Password" Template="{StaticResource HyperlinkStyleButtonTemplate}" Margin="5" Height="25" Width="Auto" />
                </StackPanel>
                
            </Grid>

            <StackPanel x:Name="AccessDeniedSection" Orientation="Vertical" Grid.Row="3" Visibility="Collapsed">
                <TextBlock FontSize="{StaticResource RegularTextSize}" TextAlignment="Center" Margin="5" Name="TextBlockAccessDeniedMessage">
                    You do not have permission to access the requested secure resource.<LineBreak />
                    Click OK to login as another user or contact application administrator<LineBreak />to request access to secure resource.
                </TextBlock>

                <Button x:Name="ButtonOK" Content="OK" Width="{StaticResource SmallItemSize}" HorizontalAlignment="Center" FontWeight="Bold" Margin="5,15,5,15" />
                
            </StackPanel>

            <Grid x:Name="ChangePasswordSection" Grid.Row="4" Visibility="Collapsed">

                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>

                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>

                <TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" TextWrapping="Wrap" TextAlignment="Center" Margin="5" FontSize="{StaticResource RegularTextSize}">
                    You are required to change your password periodically for security.<LineBreak/>
                    In order to change your password you must enter your current<LineBreak />username and password for verification.
                </TextBlock>

                <StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Right">
                    <TextBlock Text="Username" FontSize="{StaticResource RegularTextSize}" Margin="5"/>
                    <TextBlock Text="*" Foreground="Red"/>
                </StackPanel>

                <TextBox x:Name="TextBoxChangePasswordUserName" Grid.Row="1" Grid.Column="1" Width="{StaticResource RegularItemSize}" Height="{StaticResource RegularItemHeight}" HorizontalAlignment="Left" Margin="5" />

                <StackPanel Orientation="Horizontal" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Right">
                    <TextBlock Text="Old Password" FontSize="{StaticResource RegularTextSize}" Margin="5" />
                    <TextBlock Text="*" Foreground="Red"/>
                </StackPanel>

                <PasswordBox x:Name="TextBoxOldPassword" Grid.Row="2" Grid.Column="1" Width="{StaticResource RegularItemSize}" Height="{StaticResource RegularItemHeight}" HorizontalAlignment="Left" Margin="5" />

                <StackPanel Orientation="Horizontal" Grid.Row="3" Grid.Column="0" HorizontalAlignment="Right">
                    <TextBlock Text="New Password" FontSize="{StaticResource RegularTextSize}" Margin="5" />
                    <TextBlock Text="*" Foreground="Red"/>
                    <Grid ToolTip="Cannot be same as old password" HorizontalAlignment="Center" VerticalAlignment="Center">
                        <Ellipse Width="16" Height="16" Fill="#FF2588D8"/>
                        <TextBlock Text="?" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="12" FontWeight="Bold" Foreground="#FFFFFFFF" />
                    </Grid>
                </StackPanel>

                <PasswordBox x:Name="TextBoxNewPassword" Grid.Row="3" Grid.Column="1" Width="{StaticResource RegularItemSize}" Height="{StaticResource RegularItemHeight}" HorizontalAlignment="Left" Margin="5" />

                <StackPanel Orientation="Horizontal" Grid.Row="4" Grid.Column="0" HorizontalAlignment="Right">
                    <TextBlock Text="Confirm Password" FontSize="{StaticResource RegularTextSize}" Margin="5" />
                    <TextBlock Text="*" Foreground="Red"/>
                    <Grid ToolTip="Must be same as new password" HorizontalAlignment="Center" VerticalAlignment="Center">
                        <Ellipse Width="16" Height="16" Fill="#FF2588D8"/>
                        <TextBlock Text="?" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="12" FontWeight="Bold" Foreground="#FFFFFFFF" />
                    </Grid>
                </StackPanel>

                <PasswordBox x:Name="TextBoxConfirmPassword" Grid.Row="4" Grid.Column="1" Width="{StaticResource RegularItemSize}" Height="{StaticResource RegularItemHeight}" HorizontalAlignment="Left" Margin="5" />
                
                <StackPanel Orientation="Horizontal" Grid.Row="5" Grid.Column="1">
                    <Button x:Name="ButtonChange" Content="Change" Width="{StaticResource SmallItemSize}" HorizontalAlignment="Left" FontWeight="Bold" Margin="5,15,5,15" />
                </StackPanel>

                <Button x:Name="ButtonLoginLink" Content="Login" Grid.Row="6" Grid.Column="1" Template="{StaticResource HyperlinkStyleButtonTemplate}" HorizontalAlignment="Right" Margin="5" Width="Auto"/>
                
            </Grid>

        </Grid>

    </Border>
    
</Window>
